home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wayzata's Best of Shareware PC/Windows 1
/
Wayzata's Best of Shareware for PC-Windows - Release 1 - Wayzata Technology (1993).iso
/
mac
/
DOS
/
HOME
/
FPD300
/
FINPART3.TXT
< prev
Wrap
Text File
|
1992-11-30
|
39KB
|
754 lines
Your Financial Partner
Version 3.0CPP
December 5, 1992
(c) 1986 - 1992, Marc R. Feldesman
& Flying Pig Software
All Rights Reserved
"Your Financial Partner" grew out of frustration with the
complexity and expense of many of today's financial management
programs. There is nothing in "Your Financial Partner" that an
enterprising user, armed with a solid knowledge of spreadsheet
macro programming, couldn't do in spreadsheets like Lotus 1-2-3,
Quattro Pro, or Excel. However, "Your Financial Partner" computes
answers to common financial questions in an easy to use format. My
idea was to produce a simple, menu-driven, self-documenting,
"Shareware" program that would address most of the financial
questions that ordinary people pose.
Version 3.0CPP represents the first major revision of "Your
Financial Partner" since 1989. The program was completely
rewritten in C++ and sports a new user interface that makes better
use of color and windows; it also supports a mouse. New financial
calculations include a substantially expanded set of loan functions
with a handy loan calculator that also doubles as an annuity
calculator, improved loan refinancing and loan acceleration
analysis, enhanced future value functions, and a new set of bond
calculations. Features present in Version 2.29 and dropped from
3.0CPP include Net Present Value and Internal Rate of Return
(almost no one used them because they couldn't figure a personal
application where they might be useful), as well as the Calendar
for any month and year (which was an anomaly in a financial
analysis program). Version 3.0CPP continues to be largely self-
documenting; the manual that follows is intended to supplement the
program and provide information about possible financial
circumstances where specific functions might be useful.
Shareware:
"Your Financial Partner" is distributed as "Shareware".
"Shareware" is a class of software that is made accessible through
various media (local and national bulletin boards, friends,
commercial vendors) on a "try before you buy" basis. It is not
free software nor is it public domain. What distinguishes
"Shareware" from "Freeware" is that we "Shareware" authors expect
to be compensated for our work, unlike "Freeware" authors who make
their programs available with no expectation of compensation.
"Shareware" authors are neither altruists nor fools. We believe
that the myriad of available software packages (public domain,
freeware, shareware, and commercial) make it nearly impossible to
determine in advance whether a particular package meets your needs.
With "Shareware" you have the opportunity to "try before you buy."
A fully functional version of "Your Financial Partner" is thus made
available for your evaluation for a reasonable length of time (30
days). If, at the end of this 30-day trial period, you find that
it meets your needs, you are expected to register the program by
mailing in the registration form along with the proper registration
fee ($39.95) to the address listed in the back of this manual. If
"Your Financial Partner" does not meet your needs, you are expected
to erase the program from your disks and discontinue using it.
Whether you register the program or not you are free to share this
program with others provided that the entire program and its
documentation in its original compressed form are made available.
Hardware Requirements:
The program requires an IBM-compatible computer (PC, XT, AT,
386, or 486) with MS DOS 3.3 or higher, a minimum of 384K of RAM,
and a floppy disk drive. A printer is optional; however, if you
want hard-copy of any of the program's output, you will need a
printer. The program makes no special demands on the printer. Any
80-column text printer will do.
For those who use Windows as their primary operating system,
"Your Financial Partner" will run as a DOS program under Windows
3.1. It runs successfully both in the foreground and in the
background. It has not been tested with Windows 3.0; however since
it makes no Windows calls, there is no reason why it shouldn't run
under any version of Windows (or OS/2).
Program Installation and Operation:
The program is distributed as a self-extracting archive file
created using the public domain program LHA. The archive is called
FINPART3.EXE. While the program will run from a 360K floppy
diskette, both the compressed file and the decompressed executable
program cannot fit on a single 360K floppy diskette. Therefore, to
extract the executable version of "Your Financial Partner"
(FINPART.EXE) you need to copy FINPART3.EXE to a diskette with a
formatted capacity greater than 360K (i.e. 720K, 1.2MB, or 1.44MB)
or to a hard disk (preferably in its own subdirectory) and type
FINPART3 [enter]. This will cause the extraction routine to unpack
Financial Partner's executable program (FINPART.EXE) and its
documentation. Once you have unpacked the program, it is ready to
run.
To use "Your Financial Partner," you must either be in the
disk directory where the program resides, or you must have the
Financial Partner directory in your directory path. Once this is
done, you simply type FINPART [enter] from the command line and the
opening credits will appear.
If you wish to use "Your Financial Partner" with a printer,
you need to know that it assumes a printer is attached to LPT1:
(printer port #1). If you have a printer attached to LPT2:, you
must run the program as follows:
FINPART /2 [enter].
This tells the program to look for a printer attached to LPT2:
rather than LPT1:.
For your information, "Your Financial Partner" opens no files
and does not write anything to a diskette. If you find a version
that causes your disk drive light to come on after the program is
loaded, you have a bogus copy and you should take suitable
precautions.
General Information:
"Your Financial Partner" performs 6 major categories of
financial calculations, plus several useful financial utility
functions. The main menu displays the general categories. To move
from choice to choice on the menus, use the up and down arrow keys,
the mouse, or the highlighted letter on the menu item. When you
are positioned at your choice press the enter key or click the left
mouse button. This will transfer control to the submenu that
actually contains the associated financial analyses. If at any
point in the process you wish to return to the main menu, the ESC
key is your path back.
Every function requires user input. In writing the program I
made every effort to protect you from yourself: you cannot enter
an implausible or illegal value. There are two levels of error
trapping. First, all user-entered input must be numeric.
Therefore the moment you enter a non-numeric character (except '.'
or '-') the computer will beep and erase your entire entry.
Second, each input field is validated to ensure that it falls
within the preprogrammed limits. Thus, for example, you cannot
enter an interest rate larger than 99.99%, or a loan amount greater
than $99999999.99. Two factors governed these limits (a)
limitations of numeric representation and (b) implausibility of
certain combinations (e.g. 200 year annuity with 3000 payment
periods per year). The program will not permit you to go to the
next cell until you provide an acceptable entry in the current
cell. (Note: the program uses bank years [360 days] for
calculations involving "daily" compounding. This was a small, but
relatively insignificant, compromise, needed to keep life simpler
for me).
Additional information appears at the bottom of the screen
with every item that requires user input. This help line is
provided to clarify the entry prompt, and, where relevant, to
detail the range of acceptable values.
Several of the routines require you to choose whether
deposits, withdrawals, or payments occur at the beginning or end of
the period. Most annuities and loans are paid at the end of the
period; in most savings plans deposits are made at the beginning of
the period. "Your Financial Partner" allows you to make this
determination for yourself everywhere except loans.
All routines follow a common path. When you have finished
entering data and are satisfied with your entries, the results will
appear after you press CTRL-ENTER (the calculation key). Before
the computer performs the calculations, you are given the option to
print the results to the screen or to the printer. Once you choose
where you want the output to go, the results will appear nearly
instantaneously on the screen, or momentarily at the printer.
Once the output has reached its destination, you will be given
the option to repeat the procedure using different values, or to
return to the main menu.
Main Menu:
Aside from the "Quit" function, the main menu displays 7
functional choices. These are:
1. Future Value of Investment
2. Minimum Savings For Future Value
3. Withdrawal From an Investment
4. Present Value of Future Payments
5. Loan Calculations
6. Bond Calculations
7. Utilities
(1) Future Value of Investment.
This function has a submenu with 5 different Future Value
calculations. These include:
1. Future Value Based on Periodic Deposit
2. Future Value Based on Lump Sum Deposit
3. Lump Sum Deposit Followed By Periodic Deposit
4. Periods For PV to Reach FV at Given Interest Rate
5. Interest Rate for PV to Grow to FV in N Periods
These functions address the following questions: If I invest
a certain amount of money (periodically, as a lump sum, or both)
into an account paying a fixed interest rate compounded at regular
intervals, how much money will I accumulate after some interval of
time. Alternately, it answers the questions of how long it will
take for a sum of money to reach a new value given a particular
interest rate, or what interest rate would be required to achieve
a certain rate of return over a given interval of time.
(2) Minimum Savings for Future Value.
This function has 2 items on its submenu. They are:
1. Regular Deposits Needed For Future Value
2. Single Deposit Needed For Future Value
This function is devoted to addressing the following problem.
Suppose you have a 6 year old child who you want to send to college
at age 18. You haven't started a savings program yet, but you
figure that four years of college will cost about $40,000 twelve
years from now. Your question is: How much per month (or any
other period) will I have to put away on a regular basis (or all at
once now) to accumulate $40,000 by the time my child is ready for
college?
(3) Withdrawal from an Investment
There are three items on the submenu for this function. These
are:
1. Regular Deposits-Regular Withdrawals at Future Date
2. Lump Sum Deposits. Regular Withdrawals N Years Later
3. Regular Deposits Needed For Desired Regular Withdrawal
Consider the following problem. Suppose you are planning to
retire 20 years from now. On January 1, 1993 you get a pay raise
(or a bonus on December 31, 1992) that you are able to invest.
Your question is: if I invest this money on a regular (or lump
sum) basis from now until I retire, how much will I be able to
withdraw on a regular basis when I retire before I run out of
money. (If you simply want to know how much you'll have after 20
years you can use the Future Value of An Investment function 1.2).
The first two functions require two input screens each. The
first screen is needed to calculate how much money will accumulate
before you can start to withdraw it. The second screen is needed
to determine both the period over which withdrawals will take
place, and the frequency of withdrawals.
The third function approaches the problem in a slightly
different way. Here your interest is in determining the best way
to obtain a specific amount to withdraw over some period of time.
This is not useful for perpetuities (i.e. Social Security or a
typical pension plan where withdrawals take place over an
indefinite period of time).
If you are interested in answering the question of how many
periods will it take to exhaust a particular amount given
withdrawals of a fixed amount at a fixed interest rate, use the
loan calculator (see function 5.1 below). A loan is a negative
annuity in which the bank loans you money at a specific interest
rate for a fixed period of time, to be paid back (amortized) by
fixed amounts periodically. Withdrawing money as an annuity is the
same problem as a loan, but in reverse. In this case you are
loaning the bank money (your nest egg), which they will pay back to
you at a specific interest rate for a fixed period of time.
(4) Present Value of Future Payments
There are two functions in this submenu. They are:
1. Lump Sum Future Payment, Present Value
2. Fixed Series Future Payments, Present Value
Suppose you win the Oregon Lottery. You might be given the
choice of receiving $200,000 per year for 20 years, or a check now
for $2,000,000. Which is the better deal? Most of us won't ever
face this choice; however we might face the following choice: When
you retire, your pension plan may give you the option of taking
your retirement income as a lump sum, as an annuity for a fixed
length of time, or as a perpetuity. This pair of functions enables
you to determine the best strategy to the pension problem. It
computes the Present Value of an Investment that pays a specified
amount in the future, either as a lump sum or as an annuity. More
specifically, it provides the present value of a lump sum to be
paid at a definite time in the future, or the present value of a
series of payments beginning now and continuing to a definite time
in the future. (It does not deal with perpetuities).
By the way, at today's paltry interest rates (say 2.75%) the
present value of $200,000 per year for 20 years is more than $3
million. In other words, the lottery would have to pay you a lump
sum in excess of $3 million before the lump sum would be a good
deal. If you thought you could get at least 10% on your
investment, the $2 million lump sum settlement would be a better
deal since the present value of the $200,000 per year for 20 years
at 10% is only $1.7 million.
(5) Loan Calculations
There are 7 items on the Loan Calculation submenu. These are:
1. Loan Calculator
2. Payments for Different Interest Rates - Comparison
3. Loan Amount for Given Periodic Payment
4. Amortization Schedule
5. Current Loan Balance
6. Accelerated Amortization - Payoff Loan Early
7. Refinance a Loan
This section is, by far, the most extensive part of "Your
Financial Partner." Most people at some time in life secure a loan
of one type or another. These 7 loan functions enable the user to
address almost any loan question imaginable.
Six pieces of information are needed to render a loan fully.
These are: (a) Loan Amount; (b) Nominal Interest Rate; (c) Payment
Frequency; (d) Duration of Loan; (e) Payment Amount (f) Interest
Compounding Frequency. Of these 6, items (a), (b), (d), and (e)
are free to vary somewhat, while items (c) and (f) are important
but typically constrained by external factors. The Loan Calculator
(Function 5.1) enables the user to enter any three of the four
freely varying items (a, b, d, e), and the program will
automatically calculate the fourth item. The Payment Frequency
(item c) cannot be omitted, while the interest compounding
frequency (item f) is, for simplicity, assumed to be the same as
the payment frequency. Thus, you can enter the Loan Amount, the
Nominal Interest Rate, and desired Payment Amount, and "Your
Financial Partner" will calculate the number of payments required
to fully amortize the loan. Similarly, you can enter the Loan
Amount, the Loan Duration, and the desired Payment Amount and "Your
Financial Partner" will calculate the interest rate needed to fully
amortize the loan under those conditions. The Loan Calculator will
compute the missing value in each of the four instances where one
of the four key variables is left out. If no information is left
out, or if more than one variable is left out, you will encounter
an error message.
As noted above, the Loan Calculator is not limited to use with
loans. If you understand the relationship between a loan and an
ordinary annuity (a loan is simply a negative ordinary annuity),
the loan calculator can also be used as an annuity calculator.
Consider, for example, that you have $130,000 in an IRA when you
retire. The IRA is paying a nominal 6% annum interest. You have
retired and want to begin withdrawing $1000 per month. Your
question is how long will the money last? To use the Loan
Calculator for this question make the $130,000 the Loan Amount,
$1000 per month the payment amount, and 6% the interest rate. The
missing quantity (Loan Duration) is the value you're looking for.
This will be calculated when you press the calculate key. By the
way, the money would last for 17.541 years (210 full months at
$1000 per month, and a final payout of $459).
Often you are concerned with determining the effect of
interest rate fluctuations on payment amounts. Function 5.2
provides you with a comparison of payments for a given loan amount
over a range of +-1% (in 0.25% intervals).
How many times have you wondered how much house you could
afford if you could only manage a 30-year mortgage with $750 per
month in principal and interest payments? What happens to the
affordability of a home if interest rates change? Function 5.3
provides the you with a comparison of Loan Amounts for a fixed
periodic payment at interest rates over a range of +-1% (in 0.25%
intervals).
Function 5.4, the Amortization Schedule, provides a full
payment schedule for any loan. It reports the amount of every
payment apportioning the proper amounts to principal reduction and
to interest, and provides a running loan balance after each payment
is made. [You should beware that the outstanding balances
calculated after any specific payment may differ from the actual
outstanding balance reported by your bank. "Your Financial
Partner" assumes that you make your payments at exactly equal
intervals. Your bank computes interest charges daily and
calculates your balance based on the exact number of days that
elapse between each periodic payment.]
Function 5.5 calculates the outstanding balance on a loan
after any given periodic payment has been made. There is nothing
in Function 5.5 that can't be obtained from the full amortization
schedule (Function 5.4); however users may simply wish a quick loan
balance without going through the trouble of a full amortization
schedule.
Suppose you have a home loan at 8.5% interest that has 20
years before it is fully amortized (paid off). You are due to
retire in 12 years and you would like to pay the loan off by the
time you retire. What is the best way to do this? How much money
will you save over the long run by doing so? Aside from writing a
check today for the balance due, there are really only three ways
to accelerate the payoff of the loan. The first is to increase
your monthly payments by some fixed amount and to apply the extra
amount to principal reduction. The second way is to take a single
lump sum of cash and directly reduce the principal. The third is
to make an extra payment every year. [I am aware of the strategy
of dividing a monthly payment into two equal fractions and sending
that fraction to the bank every two weeks. This results in 26
biweekly payments. I surveyed 18 banks and mortgage companies in
the Portland area. None would permit a mortgagor to submit
fractional payments as this strategy requires. Therefore, I did
not include this option in "Your Financial Partner". However, you
should understand that the biweekly option is basically the same as
submitting 13 monthly payments annually, with the entire extra
payment applied to principal reduction. This latter strategy is
offered as an option in "Your Financial Partner." All of the banks
I contacted were more than willing to accept an extra payment
submitted this way.]
Function 5.6 is offered for the user to consider the different
approaches to accelerating the payoff of a loan. The procedure
used in "Your Financial Partner" for dealing with the first two
acceleration techniques is straightforward and requires no
explanation. I had to impose some constraints to simplify the
calculations for the third option. "Your Financial Partner"
assumes that you want the first extra payment applied immediately,
and then subsequent extra payments would be applied after a full
year has elapsed between each extra payment. Thus on a loan with
monthly payments the first extra monthly payment would be applied
with the next payment due and subsequent extra payments would be
added every 12th payment thereafter. For a weekly loan the
interval would be 52 weeks, etc.
This function reports the total amount paid under normal
amortization and under accelerated amortization, as well as
providing both the dollar savings and reduction in loan term
resulting from acceleration.
Loan function 5.7 enables you to explore the nether world of
loan refinancing. With today's volatile interest rates, virtually
all of us have considered refinancing loans initially obtained at
rates significantly higher than those presently available. The
goal in refinancing usually is to lower the monthly payment, to
lower the total amount of interest paid over the life a loan, or
both. There are times when refinancing is not economically prudent
(this is particularly true when loan fees and points are high and
the differential between the refinancing interest rate and the
original interest rate is relatively small). Function 5.7 takes
all of the relevant variables into consideration: current interest
rate, current loan term, existing balance, current monthly payment,
proposed interest rate, proposed loan term, new monthly payment,
and new loan fees and points. These variables are combined to
produce a comparison of what the net periodic savings will be under
the new loan terms, what the gross savings will be over the life of
the loan taking into consideration the effect of new loan fees and
points if applicable, and will calculate the length of time needed
to payback the loan fees and points given the reduced monthly
payments. Typically it is this combination of information that
allows you to make a more informed decision about refinancing. You
should remember that "Your Financial Partner" does not take into
account the fees and points you might have paid to secure the
original loan. These fees should be subtracted from the GROSS
savings to get a NET savings under refinancing.
(6) Bond Calculations:
Relatively few of us will ever purchase corporate or municipal
bonds. Nevertheless, mutual funds have become a very popular
investment for the average investor. A large number of low- to
medium-risk mutual funds invest part of their resources in
municipal and/or corporate bonds. Therefore, understanding the way
in which bond prices and bond values are affected by market factors
may provide some insight into the price ebb and flow of mutual
funds that invest in them.
The functions grouped under Bond Calculations include:
1. Bond Valuation
2. Bond Yield to Call
3. Bond Yield to Maturity
Bonds are issued at a face value (called the par value) with
a coupon interest rate (the annual rate of interest paid on the
bond), and a term of issue (the length of time until the bond
matures and is redeemed by the issuer). Bonds can be purchased
when they are issued, but also at any time after issue and before
maturity. The value of the bond changes over time in response to
two factors: market interest rates and time remaining until
maturity. If you buy a bond at issue, you will buy it for its face
value. Each year you will receive an interest check computed to be
the bond face value times the coupon interest rate. Thus a $1000
bond, issued for 30 years, paying a coupon interest rate of 10%
annually will yield $100 per year for 30 years. At the end of 30
years (the bond maturity date) the bond issuer will redeem the bond
for $1000. If market interest rates do not fluctuate during the 30
years, the bond will have yielded a 10% return and its value will
have held constant. If market interest rates do fluctuate, the
bond's value will change over time. If market interest rates go
down, the bond's value will increase and it is sold as a premium
bond. The reason is simple. New bonds issued at that time will
carry a lower coupon interest rate which yields a lower annual
interest payment and a lower overall yield at maturity. Naturally
investors would be willing to pay more for a bond if they could get
a higher interest rate and a higher annual interest payment; thus,
your bond's value is set to be that where its yield at maturity
equals that of the currently available (lower yielding) bond. This
means that the bond will have to be purchased for more than its
face value. On the other hand, if market interest rates are higher
than the bond rates, people will try to sell off the bonds and move
money into higher yielding investments. This will, in turn, cause
the bond to be sold at a discount, with the price being set to that
where its yield at maturity also equals that of the currently
available (higher yielding) bonds.
Function 6.1 computes the current value of a bond at any time
between issue date and maturity. It does so by taking into account
the difference in coupon interest rates and current interest rates.
If you experiment with function 6.1 you will see that there really
is an inverse relationship between market interest rates, coupon
interest rates, and bond value.
If, after a bond is issued, market interest rates drop
substantially, the bond issuer may want to redeem the bond early
and reissue new bonds to take advantage of the lower market
interest rates. They can do so only if the bond has call
provisions. A call provision is a condition specified in the bond
that allows its issuer to redeem the bond early for any reason
provided certain temporal conditions hold (e.g. more than 5 years
has elapsed since the bond was issued). Typically bonds are called
only if market interest rates have fallen significantly. Bonds
that are called generally yield a lower overall return on
investment than bonds held to maturity. Issuers usually establish
a formula to determine how to set the price of a bond at call. For
example, some bonds have call provisions that set the call price
as: bond par value x (100% + current market interest rate)N where
N is the number of years that have elapsed since the bond was
issued. In any case, the call price is uniquely determined for
every bond and can be easily calculated. Function 6.2 will enable
you to determine the yield of a bond that has been called after N
years, given current market interest rates and a known call price.
Finally, if you buy a bond at its original issue (at its par
or face value) and hold it to maturity, the yield on the bond is
the same as its coupon interest rate. On the other hand, bonds
purchased after their initial issuance are rarely purchased at par
value. Thus, if these bonds are held to maturity they will yield
more or less than the coupon interest rate. Bonds purchased for
less than par value (discount bonds) and held to maturity yield
more than the coupon interest rate. This makes sense because the
bond will return not only the fixed interest payment every year but
will also pay the bond's par value at maturity. Thus, the addition
of a capital gain (the profit from redeeming the bond for more than
its purchase price) to the annual coupon interest produces a yield
to maturity higher than the coupon rate. By contrast, the opposite
condition obtains when bonds are purchased for more than par value
(premium bonds) and held to maturity. Here there is a capital loss
at maturity when the bond is redeemed for a lower price than that
for which it was purchased. This loss reduces the yield to
maturity below the coupon interest rate. Function 6.3 calculates
bond yield to maturity by factoring in purchase price versus the
bond's par value and length of time to maturity.
(7) Utilities
Three different financial utilities are offered in "Your
Financial Partner." They are:
1. Effective Interest Rate
2. Taxable Interest Rate
3. Days Between Dates
Suppose you want to put money into a savings account at a
local bank. There are three banks nearby that each pay 5% annual
interest. Bank 1 compounds the interest quarterly, Bank 2
compounds monthly, and Bank 3 compounds daily. If all other
services offered are equal, into which bank should you put your
money to maximize your yield?
Function 7.1 calculates the effective interest rate and
provides you with the answer. Bank 1, paying a nominal interest
rate of 5% per annum compounded quarterly, is actually paying an
effective interest rate of 5.09%; Bank 2, which pays 5% compounded
monthly, is actually paying an effective rate of 5.12%; and Bank 3,
which compounds daily, provides an effective yield of 5.13%. Thus,
Bank 3 should get your money. In general, the more often interest
is compounded the higher the effective interest rate.
The financial section of today's newspaper is littered with
advertisements offering a variety of investments. Suppose you have
$1000 to invest. You want something relatively safe, yet something
that provides a higher return than an ordinary passbook savings
account. You are given two possible investments that meet your
objectives to provide a safe, modest rate of return. The first of
these invests in short-term corporate bonds and has consistently
returned about 7.5%. The second of these invests in a variety of
tax-free municipal bonds and has consistently returned about 6%.
Other things being equal, which of the two investments should you
choose?
The key element in investing is recognizing that some
investments generate gains that are completely free of taxes, while
others yield profits that are subject to ordinary income tax. To
compare any two investments fairly, we need to level the playing
field. Function 7.2 provides the necessary levelling.
Whenever we make money from our investments, our earnings are
subject to income tax unless the earnings are tax-free. Most
investors will find themselves in either the 28% or 31% federal
marginal tax bracket. In addition, many states also tax profits
from investments. Suppose our hypothetical investor above was
paying federal tax at the 31% marginal rate, and state tax at a 9%
marginal rate. This means that the earnings are reduced by 31%
because of federal tax, and 9% because of state tax. Thus, our
taxable yield of 7.5% is reduced to 5.175% because of federal tax
and to 4.5% when we add in state tax. This means that the two
investments are hardly equivalent. Once taxes are factored in, the
tax-free investment pays 1.5% more than the taxable investment.
Function 7.2 turns this problem around by levelling the
playing field in the opposite direction. It approaches the problem
by asking what the taxable equivalent of a tax-free yield is. In
the problem described above, the value of our 6% tax-free yield is
increased by the combined federal and state tax obligation. We
would have to have a taxable yield greater than 8.695% to offset
the effects of federal tax; the return would have to equal or
exceed 10% to offset the combined effects of a 31% federal tax and
9% state tax.
Function 7.3 simply answers the question of how many days have
elapsed between two dates. This routine takes into consideration
leap years.
Programming Considerations:
"Your Financial Partner" was written in Borland C++ 3.1. The
menus and data entry screens were adapted from the Object
Professional C++ Library from Turbo Power Software. To ensure
accuracy, all financial calculations were performed in BCD
(financial) arithmetic and follow banker's rules of rounding. Even
so, there will be differences between results obtained using
Financial Partner, spreadsheets, and other financial analysis
programs. Where comparable routines exist, "Your Financial
Partner" has been thoroughly tested with examples from major
financial analysis textbooks and its results accurate, to within
limits of roundoff error, with Quattro Pro 4.0, Excel 3.0, HP 10B
and 12 calculators, and the published textbook answers.
I sincerely hope that "Your Financial Partner" is useful to
you. I spent a great deal of time trying to write a program that
I could use. While I've tested all of the functions with a wide
variety of data from financial analysis text and am convinced that
all egregious bugs have been exterminated, I've been programming
for long enough to know that bugs cannot ever be completely
eradicated. If you run into any problem, encounter any results
that do not look right or that you know are incorrect, please drop
me a note and explain the circumstances. I do not want a "buggy"
program circulating.
Legal Matters:
My legal advisors tell me that I cannot warrant this program,
expressly or by implication. So there is no warranty attached to
"Your Financial Partner." You'll just have to take my word that it
does do financial calculations, and as far as I can figure it
mostly gives correct answers. This generally means that I am not
responsible if this program ruins your life. On the other hand, if
it makes you a millionaire, I'd like to know about it.
Money and Other Matters:
As I indicated at the beginning of this manual, "Your
Financial Partner" is distributed as "Shareware" on the honor
system. If, after using this program for 30 days, you find it
valuable, please register the program by filling out the form below
and send it to me along with a check for $39.95 to complete the
registration process. Registered users will receive the latest
version of "Your Financial Partner" (devoid of the annoying
"Shareware" screen), free upgrades for 6 months following
registration, will be able to receive upgrades thereafter at a
nominal fee, and are eligible for telephone support if needed.
Customer Service:
Users needing help with "Your Financial Partner", users
wishing to report a bug, users wishing to lavish me with praise, or
users wanting to carp may contact me in writing at the address
below (see Registration Form), or electronically via CompuServe
(71212,2327), Internet (h1mf@odin.cc.pdx.edu), or BITNET
(H1MF@PSUORVM.BITNET). If you have an urgent problem, you may
phone me at 503-725-3910 (this is in the Pacific Time Zone);
however, this is my office phone number and I may or may not be
able to talk with you when you call. If you get my voice mail
instead of me, please leave me a detailed message detailing
precisely what you need. Also indicate whether you are a
registered user. I cannot afford to provide telephone support to
unregistered users (I will respond to any and all electronic mail
or US Mail messages whether you are registered or not). Include in
your phone message a time of day where I will be able to get a hold
you by phone. I will try to respond as soon as possible.
Acknowledgements:
Thanks are due to my wife, Susan Wolf, and our children, Sarah
and Elisabeth, for enduring the many months that writing this
program consumed. I also want to thank Ken at Tech Mate for all
his helpful advice on using Object Pro C++. My gratitude goes out
to all the beta testers, and users of previous versions of "Your
Financial Partner" for suggestions and encouragement, not to
mention drawing noxious bugs to my attention.
Things In The Planning Stages:
Future versions of "Your Financial Partner" are already in the
planning stages. Proposed additions include (1) a simple, popup
four-function calculator that will allow users to paste results
into data fields; (2) loan qualification function; (3) stock
valuation; (4) life expectancy calculations; and (5) inflation-
adjustment option in various routines. I welcome user suggestions.
Useful Financial References:
The following proved invaluable to me in developing "Your Financial
Partner." I recommend them to anyone wishing to do further
research.
Eugene F. Brigham, 1992, Fundamentals of Financial Management, 6th
Edition. San Diego: Dryden Press (Harcourt, Brace, Jovanovich).
Petr Zima and Robert L. Brown, 1984, Contemporary Mathematics of
Finance (Schaum's Outline Series). New York: McGraw Hill.
Registration Form:
Your Financial Partner
Version 3.0CPP
Date_____________
Name__________________________________________________________
Address_______________________________________________________
City________________________________ State_________Zip________
Phone______________________
Where/how obtained_____________________________________________
Please return this form with a check for $39.95 to:
Dr. Marc R. Feldesman
Flying Pig Software
4210 SW Comus St
Portland, Oregon 97219-9504